package com.ruoyi.plan.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;
import java.util.List;

/**
 * @author MLYNDHG
 * @version 1.0
 * @description 计划科目对象 plan_subject
 * @date 2023/12/4 16:14
 */
public class PlanSubject extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 用户ID */
    private Long uid;

    /** 学科标题 */
    @Excel(name = "学科标题")
    private String pName;

    /** 学习强度 */
    @Excel(name = "学习强度")
    private Long rankAge;

    /** 封面图片 */
    @Excel(name = "封面图片")
    private String frontCover;

    /** 开启排队（0开启、1关闭） */
    @Excel(name = "开启排队", readConverterExp = "0=开启、1关闭")
    private Long isQueue;

    /** 创建日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createDate;

    /** 描述 */
    @Excel(name = "描述")
    private String describes;

    /** 学习内容信息 */
    private List<StudyContent> studyContentList;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setUid(Long uid)
    {
        this.uid = uid;
    }

    public Long getUid()
    {
        return uid;
    }
    public void setpName(String pName)
    {
        this.pName = pName;
    }

    public String getpName()
    {
        return pName;
    }
    public void setRankAge(Long rankAge)
    {
        this.rankAge = rankAge;
    }

    public Long getRankAge()
    {
        return rankAge;
    }
    public void setFrontCover(String frontCover)
    {
        this.frontCover = frontCover;
    }

    public String getFrontCover()
    {
        return frontCover;
    }
    public void setIsQueue(Long isQueue)
    {
        this.isQueue = isQueue;
    }

    public Long getIsQueue()
    {
        return isQueue;
    }
    public void setCreateDate(Date createDate)
    {
        this.createDate = createDate;
    }

    public Date getCreateDate()
    {
        return createDate;
    }
    public void setDescribes(String describes)
    {
        this.describes = describes;
    }

    public String getDescribes()
    {
        return describes;
    }

    public List<StudyContent> getStudyContentList()
    {
        return studyContentList;
    }

    public void setStudyContentList(List<StudyContent> studyContentList)
    {
        this.studyContentList = studyContentList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("uid", getUid())
                .append("pName", getpName())
                .append("rankAge", getRankAge())
                .append("frontCover", getFrontCover())
                .append("isQueue", getIsQueue())
                .append("createDate", getCreateDate())
                .append("describes", getDescribes())
                .append("studyContentList", getStudyContentList())
                .toString();
    }
}